/*** start generic styles ***/
* { padding: 0px; margin: 0px; outline: none; zoom: 1; -webkit-tap-highlight-color: transparent; }
html, body { background-color: transparent; width: 100%; height: 100%; }
table { border-spacing: 0px; /*CHROME-BUG: border-collapse: collapse;*/ }
a { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover { text-decoration: none; }
a:active { text-decoration: none; }
.hidden { display: none; }
.hover { background-color: #b2b4bf; }
.clear { clear:both; }
body.review { overflow: hidden; }
body.force-reflow { border-right: 2px solid transparent; }
#jim-mainWindow { background-color: #FFFFFF; height:100%; left:0px; overflow:hidden; width:auto; position:relative;}
#jim-body { overflow: auto; width: 100%; height:auto; bottom:0; position:absolute; top:0;}
.showComments #jim-body {top:53px;}
#simulation { position: relative; overflow: auto; height: 100%; }
.template, .screen { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }

/*** fonts ***/
@font-face {
    font-family: 'OpenSans-Regular';
    src: url('./fonts/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), 
         url('./fonts/OpenSans-Regular.ttf') format('truetype');
}
@font-face {
    font-family: 'OpenSans-SemiBold';
    src: url('./fonts/OpenSans-SemiBold.eot?#iefix') format('embedded-opentype'), 
         url('./fonts/OpenSans-SemiBold.ttf') format('truetype');
}

/*** z-index ***/
.label, .image, .richtext, .table, .cell, .rectangle, .dynamicpanel, .panel, .text, .password, .textarea, .checkbox, .radiobutton, .date, .time, .datetime, .file, .selectionlist, .dropdown, .nativedropdown, .radiobuttonlist, .checkboxlist, .tree, .treenode, .menu, .menunode, .datagrid, .headerrow, .datarow, .datacell, .summary, .index, .texttable, .textcell, .line, .multiselectionlist, .button, .imagemap, .html, .url, .document, .flash, .website, .ellipse, .callout, .line, .triangle { z-index: 2; }

/*** text-overflow ***/
.label, .button, .summary, .index, .dropdown .value .nativedropdown .value, .text input, .password input, .date input, .time input, .datetime input, .file input { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/*** image, imagemap ***/
.image, .imagemap { -moz-outline-style: none; }

/*** menu ***/
.menu { overflow: hidden; cursor: default; }
.menu .menunode { overflow: hidden; }
.menu .menunode span { position: relative; top: -2px; }  /* fix "display: table-cells" internal padding */
.menu.horizontal .menunode { display: table-cell; height: inherit; }
.submenu { display: none; position: absolute; top: 0; left: 100%; z-index: 2; }
.menunodeicon { padding-right: 5px; vertical-align: inherit; }
.menunode { position: relative; white-space: nowrap; padding: 0 5px; cursor: default; }
.menunode span { cursor: inherit; }
.submenu .menunode.has-submenu > span { margin-right: 10px; }
.menunode .submenuicon { position: absolute; right: 2px; top: 40%; width: 9px; height: 7px; background: transparent url("../images/common/arrow-submenu.png") no-repeat 0 0 scroll; }

/*** html widgets ***/
.html, .document, .url, .website, .flash { overflow: hidden; z-index: 3; } /* prototyper's "swt browser widget" always on top */

/*** table ***/
.table { overflow: hidden; }

/*** cellcontainer ***/
.cellcontainer { overflow: hidden; }

/*** input components ***/
input { border:0px; }
.text, .password { overflow: hidden; } /*.date, .time, .file would hide icon */
.date, .time, .datetime, .file { position: relative; } /* offset parent for icon */
.text input, .password input, .date input, .time input, .datetime input, .file input { vertical-align: inherit; width: inherit; background-color: transparent; cursor: inherit; z-index: 3; } /* enforce z-index in date/time picker, fix "display: table-cells" internal padding */
.date .icon, .time .icon, .datetime .icon { position: absolute; right: -24px; cursor: pointer; width: 18px; height: 18px; background-color: transparent; background-repeat: no-repeat; background-position: right center; background-attachment: scroll; }
.date .icon { background-image: url("../images/common/date.gif"); }
.datacell .date .icon[name][readonly] { display: none; }
.time .icon { background-image: url("../images/common/time.gif"); }
.datacell .time .icon[name][readonly] { display: none; }
.datetime .icon { background-image: url("../images/common/date-time.gif"); }
.datacell .datetime .icon[name][readonly] { display: none; }
.file .icon, .file-input { position: absolute; right: -72px; }
.file .icon { width: 66px; height: 19px; background: transparent url("../images/common/browse-enabled.gif") no-repeat left center scroll; }
.file .icon[readonly] { background-image: url("../images/common/browse-disabled.gif"); }
.file .file-input { z-index: 2; cursor: pointer; border: none; width: 66px; height: 19px; opacity: 0; -ms-filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0); filter: alpha(opacity=0); }
.datacell .file .icon[name][readonly], .datacell .file .file-input[name][disabled] { display: none; }
.radiobutton { border: none; vertical-align: top; font-size: 10px; height: 13px; width: 13px; }
.textarea { overflow:hidden; }
.textarea textarea { border: 0px; overflow: auto; resize: none; width:100%; height:100%; background: none repeat scroll 0 0 transparent; }

 /*** date/timepicker - overwrite jquery.ui ***/
.ui-datepicker.ui-widget { font-size: 0.7em; }
.ui-datepicker-trigger { display: none; }
.ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; }
.ui-timepicker-div dl{ text-align: left; }
.ui-timepicker-div dl dt{ height: 25px; margin-bottom: -25px; }
.ui-timepicker-div dl dd{ margin: 0 10px 10px 65px; }
.ui-timepicker-div td { font-size: 90%; }
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }

/*** selection list ***/
.selectionlist, .multiselectionlist { white-space: nowrap; }
.selectionlist .scroll, .multiselectionlist .scroll { overflow: auto; height:100%; width:100%; }

/*** checkboxlist/radiobuttonlist ***/
.checkboxlist, .radiobuttonlist { white-space: nowrap; }
.checkboxlist .option, .radiobuttonlist .option { vertical-align: middle; margin: 0 0 0 3px; }
.checkboxlist input, .radiobuttonlist input { vertical-align: middle; }
.checkboxlist .scroll, .radiobuttonlist .scroll { overflow: auto; height:100%; width:100%; }
.radiobuttonlist .scroll { padding-left:1px; }

/*** dropdown ***/
.dropdown { position: relative; overflow: hidden; }
.dropdown .value { width: inherit; }
.dropdown .icon { padding-right: 12px; background: transparent url("../images/common/dropdown-enabled.png") right center no-repeat scroll; }
.dropdown[readonly] .icon { background-image: url("../images/common/dropdown-disabled.png"); }
.dropdown .dropdown-options { opacity: 0.0001; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); 
                    position: absolute; top: 0px; left: 0px; height: 100%; width: 100%; cursor: pointer; text-overflow: ellipsis; white-space: nowrap; background-color: inherit;
                    color: inherit; text-align: inherit; text-decoration: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; }

/*** native dropdown ***/
.nativedropdown { position: relative; overflow: hidden; height:20px; }
.nativedropdown .value { width:inherit; visibility:hidden; }
.nativedropdown .dropdown-options { padding:1px; position: absolute; top: 0px; left: 0px; height: 100%; width: 100%; cursor: pointer; text-overflow: ellipsis; white-space: nowrap; }

/*** panel ***/
.panel { position: relative; }

/*** group ***/
.group { position: relative; }

/*** datagrid ***/
.datagrid { overflow: hidden; }
.datarow input { border: none; }
.datacell { overflow: hidden; }

/*** index ***/
.index span { margin: 0px 3px 0px 3px; cursor: default; }
.index span.current { font-weight: bold; }

/*** richtext, textcell ***/
.shape .content, .richtext .content,.rectangle .content, .textcell .content, .label .content, .text .content, .password .content, .date .content, .time .content, .datetime .content, .dropdown .content, .button .content, .summary .content, .index .content, .file .content { height: inherit; width: inherit; /*overflow: hidden;*/ } /* buggy reflow after resize event? */
/*** multi-line wrapping ***/
.shapewrapper .content, .richtext .content,.rectangle .content, .textcell .content { display: table; table-layout:fixed; word-wrap:break-word;}
/*.shapewrapper,*/ .richtext .clipping ,.rectangle .clipping , .textcell .clipping { height:inherit; width:inherit; overflow:hidden;}
.textcell .clipping {height:inherit; width:inherit;}
/*single line*/
.label .content, .text .content, .password .content, .date .content, .time .content, .datetime .content, .dropdown .content, .button .content, .summary .content, .index .content, .file .content { overflow: hidden; }

/*** tree ***/
.tree { list-style: none; overflow: auto; }
.tree ul { list-style: none; }
.tree li { list-style: none; }
.tree table { width: 100%; }
.tree li.closed ul { display:none; }
.tree li.open .nodecontent img.open { display: inline; }
.tree li.closed .nodecontent img.open { display: none; } 
.tree li.open .nodecontent img.closed, .tree li.leaf .nodecontent img.closed { display: none; }
.tree li.closed .nodecontent img.closed { display: inline; }
.tree li.last.leaf .treeicon { display: none; }
.tree li.leaf .treeicon { background-image: none !important; }
.tree.withlines li { background-image: url("../images/common/treeline.gif"); background-repeat: repeat-y; }
.tree.withlines li.last { background-image: url("../images/common/lastnode.gif"); background-repeat: no-repeat; }
.tree.withlines li.last.leaf .treeicon { display: table-cell; background-image: none !important; background-repeat: no-repeat; }
.tree.withlines li.leaf .treeicon { background-image: url("../images/common/leafnode.gif") !important; background-repeat: no-repeat; }

/*** alignment ***/
.valign { display: table-cell; height: inherit; width: inherit; vertical-align: inherit; text-align: inherit; }
.dropdown > .content {vertical-align: inherit;}
.layout { height: inherit; width: inherit; position: relative; overflow: hidden; }
table.layout { overflow: auto; } /* chrome bug: allow scrollbars */
td.layout > * { vertical-align: inherit; }
td.layout.horizontal { white-space: nowrap; }
td.layout.horizontal .richtext, td.layout.horizontal .textcell { white-space: normal; } /* exceptions are richtext and textcell */
td.layout.horizontal > * { display: inline-block; }
td.layout.vertical > * { display: block; }

/*** selected lists ***/
.selected {background-color: #3399FF;color: #FFFFFF; cursor: inherit;}

/*** SVG ***/
foreignObject, svg, .shapewrapper {pointer-events:none;}
/* .shapewrapper {overflow:hidden;} */
.shapewrapper .content {pointer-events:none;}
.shapewrapper .shapert-clipping {position:absolute; pointer-events:none; overflow:hidden;}
svg {position:absolute;left:0px;top:0px;}
.datagrid svg{position:relative;}
ellipse, path{pointer-events:visiblepainted;}
clipPath path{pointer-events:none;}

/*** VML ***/
.vml {behavior: url(#default#VML)}
